Tower Top Daily Average

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.5     v dplyr   1.0.7
## v tidyr   1.1.4     v stringr 1.4.0
## v readr   2.1.0     v forcats 0.5.1
## Warning: package 'readr' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
top <- read.csv('Tower_Top_0066_5306_0586_Full.csv')
top$Temp <- ((top$Temp - 32)*5)/9
top <- separate(top, Time, into = c('hours','minutes'))
top$hours <- as.numeric(top$hours)
top <- na.omit(top)

for (i in 1:nrow(top)) { 
  if (top$minutes[i] == 30| top$minutes[i] == 45) {
    top$hours[i] <- top$hours[i] + 0.5
  }
}

top <- top  %>% mutate(RH2 = case_when(top$Logger == 66 ~ (0.7668 * top$RH) + 26.667, top$Logger == 586 ~ (0.8424 * top$RH) + 6.4224, top$Logger == 5306 ~ (1.198 * top$RH) - 18.808))

top2 <- top %>% group_by(hours) %>% summarize(Humidity = mean(RH, na.rm=T))
top2$Location <- "Top2"

ggplot(top2, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(top2))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(top2))), width = 0.2)) 

### Tower Middle Daily Average

library(tidyverse)
middle <- read.csv('Tower_Middle_7433.csv')
middle <- separate(middle, Time, into = c('hours','minutes'))
middle$hours <- as.numeric(middle$hours)
middle$Temp <- ((middle$Temp - 32)*5)/9
for (i in 1:nrow(middle)) { 
  if (middle$minutes[i] == 30 | middle$minutes[i] == 45) {
    middle$hours[i] <- middle$hours[i] + 0.5
  }
}

middle$RH <- (middle$RH * 1.000177) + 0.003496

middle2 <- middle %>% group_by(hours) %>% summarize(Humidity = mean(RH, na.rm=T))
middle2$Location <- "Middle2"

ggplot(middle2, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line()+ geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / nrow(middle2)), ymax = Humidity + (sd(Humidity, na.rm = T) / nrow(middle2)) , width = 0.2)) + labs(title = "Tower Middle Relative Humidity")

Tower Base Daily Average

base <- read.csv('Tower Base 4377.csv')
base$Temp <- ((base$Temp - 32)*5)/9
base <- separate(base, Time, into = c('hours','minutes'))
base$hours <- as.numeric(base$hours)
base <- na.omit(base)

for (i in 1:nrow(base)) { 
  if (base$minutes[i] == 30 | base$minutes[i] == 45) {
    base$hours[i] <- base$hours[i] + 0.5
  }
}

base$RH <- (base$RH * 1) - 11.82

base2 <- base %>% group_by(hours) %>% summarise(Humidity = mean(RH)) 
base2$Location <- "Base2"

ggplot(base2, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(base2))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(base2))), width = 0.2)) + labs(title = "Tower Base Relative Humidity")

library(tidyverse)
MP150 <- read.csv("MP150_5354_7432.csv")
Lago0066 <- read.csv("Lago 0066.csv")
Lago5353 <- read.csv("Lago 5353.csv")

MP150 Plot Daily Average

MP150 <- read.csv("MP150_5354_7432.csv")
MP150 <- separate(MP150, Date...Time, into = c("dates", "Time"), sep = " ")
MP150$dates <- as.Date(MP150$dates, "%m/%d/%Y")
MP150 <- separate(MP150, Time, into = c('hours','minutes'))
MP150$hours <- as.numeric(MP150$hours)
MP150 <- na.omit(MP150)


for (i in 1:nrow(MP150)) { 
  if (MP150$minutes[i] == 30 | MP150$minutes[i] == 45) {
    MP150$hours[i] <- MP150$hours[i] + 0.5
  }
}

MP150 <- MP150 %>% mutate(RH2 = case_when(MP150$Logger == 5354 ~ (0.9764  * MP150$Humidity) +  0.2417, MP150$Logger == 7432 ~ (0.898  * MP150$Humidity) + 10.075))


MP1502 <- MP150 %>% group_by(hours) %>% summarize(Humidity = mean(RH2))
MP1502$Location <- "MP1502"

ggplot(MP1502, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(MP1502))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(MP1502))), width = 0.2)) + labs(title = "MP150 Relative Humidity")

Lago Plot Daily Average

library(tidyverse)
Lago0066 <- read.csv("Lago 0066.csv")
Lago0066$Logger <- "0066"
Lago5353 <- read.csv("Lago 5353.csv")
Lago5353 <- Lago5353[,-1]
Lago5353$Logger <- "5353"
colnames(Lago0066) <- c("Number", "DateTime", "Temperature", "Humidity", "Logger")
colnames(Lago5353) <- c("Number", "DateTime", "Temperature", "Humidity", "Logger")
Lago <- rbind(Lago0066, Lago5353)
Lago$Temperature <- ((Lago$Temperature - 32)*5)/9
Lago <- na.omit(Lago)

colnames(Lago) <- c("Number", "DateTime", "Temperature", "Humidity", "Logger")
Lago <- separate(Lago, DateTime, into = c("dates", "Time"), sep = " ")
Lago$dates <- as.Date(Lago$dates, "%m/%d/%Y")
Lago <- separate(Lago, Time, into = c('hours','minutes'))
Lago$hours <- as.numeric(Lago$hours)

for (i in 1:nrow(Lago)) { 
  if (Lago$minutes[i] == 30 | Lago$minutes[i] == 45) {
    Lago$hours[i] <- Lago$hours[i] + 0.5
  }
}

Lago <- Lago %>% mutate(RH2 = case_when(Lago$Logger == 0066 ~ (1.297  * Lago$Humidity) - 34.067, Lago$Logger == 5353 ~ (1  * Lago$Humidity)))

Lago <- Lago %>% group_by(hours) %>% summarise(Humidity = mean(RH2, na.rm = T))
Lago$Location <- "Lago2"

ggplot(Lago, aes(hours, Humidity))+ geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(Lago))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(Lago))), width = 0.2)) + labs(title = "Lago Relative Humidity")

Parahuaco Plot Daily Average

Parahuaco <- read.csv("Parahuaco RH.csv")
Parahuaco$Logger <- "6889"
Parahuaco <- separate(Parahuaco, Date...Time, into = c("dates", "Time"), sep = " ")
Parahuaco$dates <- as.Date(Parahuaco$dates, "%m/%d/%Y")
Parahuaco <- separate(Parahuaco, Time, into = c('hours','minutes'))
Parahuaco$hours <- as.numeric(Parahuaco$hours)

for (i in 1:nrow(Parahuaco)) { 
  if (Parahuaco$minutes[i] == 30| Parahuaco$minutes[i] == 45) {
    Parahuaco$hours[i] <- Parahuaco$hours[i] + 0.5
  }
}

Parahuaco <- Parahuaco %>% mutate(RH2 = case_when(Parahuaco$Logger == 6889 ~ (0.993  * Parahuaco$Humidity) -1.752))

Parahuaco <- Parahuaco %>% group_by(hours) %>% summarise(Humidity = mean(RH2, na.rm = T))
Parahuaco$Location <- "Parahuaco2"

ggplot(Parahuaco, aes(hours, Humidity))+ geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(Parahuaco))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(Parahuaco))), width = 0.2)) + labs(title = "Parahuaco Relative Humidity")

GP Plot Daily Average

GP <- read.csv("GP RH.csv")
GP <- GP[,-1]
GP$Logger <- "5355"
GP <- separate(GP, Date...Time, into = c("dates", "Time"), sep = " ")
GP$dates <- as.Date(GP$dates, "%m/%d/%Y")
GP <- separate(GP, Time, into = c('hours','minutes'))
GP$hours <- as.numeric(GP$hours)

for (i in 1:nrow(GP)) { 
  if (GP$minutes[i] == 30| GP$minutes[i] == 45) {
    GP$hours[i] <- GP$hours[i] + 0.5
  }
}

GP <- GP %>% mutate(RH2 = case_when(GP$Logger == 5355 ~ (0.9187  * GP$Humidity) +  11.8054))

GP <- GP %>% group_by(hours) %>% summarise(Humidity = mean(RH2, na.rm = T))
GP$Location <- "GP2"

ggplot(GP, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(GP))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(GP))), width = 0.2)) + labs(title = "GP Relative Humidity")

Murcialago (Rest) Daily Average

Murcialago <- read.csv("Murcialago5306.csv")
Murcialago$Logger <- "5306"
Murcialago <- separate(Murcialago, Date...Time, into = c("dates", "Time"), sep = " ")
Murcialago$dates <- as.Date(Murcialago$dates, "%m/%d/%Y")
Murcialago <- separate(Murcialago, Time, into = c('hours','minutes'))
Murcialago$hours <- as.numeric(Murcialago$hours)

for (i in 1:nrow(Murcialago)) { 
  if (Murcialago$minutes[i] == 30| Murcialago$minutes[i] == 45) {
    Murcialago$hours[i] <- Murcialago$hours[i] + 0.5
  }
}

Murcialago <- Murcialago %>% mutate(RH2 = case_when(Murcialago$Logger == 5306 ~ (1.198  * Murcialago$Humidity) - 20.808))

Murcialago <- Murcialago %>% group_by(hours) %>% summarise(Humidity = mean(RH2, na.rm = T))
Murcialago$Location <- "Murcialago2"

ggplot(Murcialago, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(Murcialago))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(Murcialago))), width = 0.2)) + labs(title = "Murcialago Relative Humidity")

Danta (Rest) Daily Average

dataset <- read.csv("Denta Region RH.csv")
dataset <- dataset[,-1]

colnames(dataset) <- c("Number", "Date...Time", "Temperature", "Humidity")
dataset$Logger <- "7432"
Danta <- separate(dataset, Date...Time, into = c("dates", "Time"), sep = " ")
Danta$dates <- as.Date(Danta$dates, "%m/%d/%Y")
Danta <- separate(Danta, Time, into = c('hours','minutes'))
Danta$hours <- as.numeric(Danta$hours)

for (i in 1:nrow(Danta)) { 
  if (Danta$minutes[i] == 30| Danta$minutes[i] == 45) {
    Danta$hours[i] <- Danta$hours[i] + 0.5
  }
}

Danta <- Danta %>% mutate(RH2 = case_when(Danta$Logger == 7432 ~ (0.898  * Danta$Humidity) + 10.075))

Danta <- Danta %>% group_by(hours) %>% summarise(Humidity = mean(RH2, na.rm = T))
Danta$Location <- "Danta2"

ggplot(Danta, aes(hours, Humidity)) + geom_point(aes(x = hours, y = Humidity)) + geom_line() + geom_errorbar(alpha = 0.3, aes(ymin = Humidity - (sd(Humidity, na.rm = T) / sqrt(nrow(Danta))), ymax = Humidity +(sd(Humidity, na.rm = T) / sqrt(nrow(Danta))), width = 0.2)) + labs(title = "Danta Relative Humidity")

## Tower middle daily average temperature and humidity

library(reshape2)
## 
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(ggplot2)
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
middle3 <- middle %>% group_by(hours) %>% summarize(Average_humidity = mean(RH, na.rm=T), Average_temp = mean(Temp, na.rm=T))

middle3$Average_temp <- middle3$Average_temp + 60

df <- melt(middle3 ,  id.vars = 'hours', variable.name = 'series')

ggplot(df, aes(hours, value)) +
geom_point(aes(color = series)) + geom_line(aes(color = series)) + labs(title = "Tower Middle Humidity vs Temperature") + scale_y_continuous("Humidity", sec.axis = sec_axis(~ . - 60, name = "Temperature"))

Comparison of Tower middle and Danta rest relative humidity

library(reshape2)
dataset <- read.csv("Denta Region RH.csv")
dataset <- dataset[,-1]

colnames(dataset) <- c("Number", "Date...Time", "Temperature", "Humidity")
dataset$Logger <- "7432"
Danta <- separate(dataset, Date...Time, into = c("dates", "Time"), sep = " ")
Danta$dates <- as.Date(Danta$dates, "%m/%d/%Y")
Danta <- separate(Danta, Time, into = c('hours','minutes'))
Danta$hours <- as.numeric(Danta$hours)

for (i in 1:nrow(Danta)) { 
  if (Danta$minutes[i] == 30 | Danta$minutes[i]==45) {
    Danta$hours[i] <- Danta$hours[i] + 0.5
  }
}

Danta <- Danta %>% mutate(RH2 = case_when(Danta$Logger == 7432 ~ (0.898  * Danta$Humidity) + 10.075))

Danta <- Danta %>% group_by(hours) %>% mutate(Humidity = mean(RH2, na.rm = T)) %>% slice(1)
Danta$Place <- "Danta2"
TM_D <- middle2 %>% left_join(Danta, by = "hours")
df <- TM_D %>%
  select(c(hours, Humidity.x, Humidity.y)) %>%
  rename(RH_middle = Humidity.x, RH_danta = Humidity.y)
df <- melt(df ,  id.vars = 'hours', variable.name = 'series')
ggplot(df, aes(hours, value)) +
  geom_point(aes(color = series)) + geom_line(aes(color = series)) + labs(title = "Calibrated Tower Middle vs Danta Humidity")

library(plotly)
Danta22 <- Danta %>% group_by(hours) %>% summarise(Humidity = mean(Humidity, na.rm = T)) %>% mutate(Location = "Danta")
AllSites <- rbind(top2, middle2, base2, Danta22, Parahuaco, Murcialago, GP)
allplots <- ggplot(AllSites, aes(hours, Humidity, color = Location)) + geom_smooth(se = F, size = 0.35)
ggplotly(allplots)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Comparison of Tower middle and Foraging relative humidity

library(reshape2)
library(tidyverse)
MP150 <- read.csv("MP150_5354_7432.csv")
Lago0066 <- read.csv("Lago 0066.csv")
Lago5353 <- read.csv("Lago 5353.csv")
Parahuaco <- read.csv("Parahuaco RH.csv")
GP <- read.csv("GP RH.csv")
MP150 <- MP150[c(2,3,4,5)]
Lago5353 <- Lago5353[,-1]
Parahuaco <- Parahuaco[,-1]
GP <- GP[,-1]
colnames(Parahuaco) <- c("Number", "Date...Time", "Temperature", "Humidity")
colnames(Lago5353) <- c("Number", "Date...Time", "Temperature", "Humidity")
colnames(Lago0066) <- c("Number", "Date...Time", "Temperature", "Humidity")
colnames(MP150) <- c("Number", "Date...Time", "Temperature", "Humidity")
colnames(GP) <- c("Number", "Date...Time", "Temperature", "Humidity")
foraging <- rbind(Parahuaco, Lago0066, Lago5353, MP150, GP)

foraging <- separate(foraging, Date...Time, into = c("dates", "Time"), sep = " ")
foraging$dates <- as.Date(foraging$dates, "%m/%d/%Y")
foraging <- separate(foraging, Time, into = c('hours','minutes'))
foraging$hours <- as.numeric(foraging$hours)

for (i in 1:nrow(foraging)) { 
  if (foraging$minutes[i] == 30 | foraging$minutes[i]==45) {
    foraging$hours[i] <- foraging$hours[i] + 0.5
  }
}

foraging <- foraging %>% group_by(hours) %>% summarize(Humidity = mean(Humidity, na.rm = T))
foraging$Place <- "foraging"
TM_F <- middle2 %>%
  left_join(foraging, by = "hours")

df <- TM_F %>%
  select(c(hours, Humidity.x, Humidity.y)) %>%
  rename(RH_middle =Humidity.x, RH_foraging = Humidity.y)
df <- melt(df,  id.vars = 'hours', variable.name = 'series')
ggplot(df, aes(hours, value)) +
  geom_point(aes(color = series)) + geom_line(aes(color = series)) + labs(title = "Uncalibrated Tower Middle vs Foraging Humidity")